
#ifndef __MEM_SDRAM_H__
#define __MEM_SDRAM_H__

//===============================================头文件声明======================================================//
#include "SWM341.h"
#include "version.h"

//================================================变量声明=======================================================//
#if (LCD_FMT == LCD_RG565)
extern uint8_t JPEG_Decoder_Buff[LCD_HDOT * LCD_VDOT * sizeof(uint16_t)];

#elif (LCD_FMT == LCD_RGB888)
extern uint8_t JPEG_Decoder_Buff[LCD_HDOT * LCD_VDOT * sizeof(uint32_t)];

#endif // LCD_FORMAT

//================================================函数声明=======================================================//
/**
 * @brief 	申请一块内存
 * @param 	size : 期望分配的内存块大小
 * @retval	!= NULL - 分配的内存块首地址     NULL - error
 * @note	\
 */
void *sdram_malloc(size_t size);

/**
 * @brief 	释放一块内存
 * @param 	ptr : 分配的内存块首地址
 * @retval	\
 * @note	\
 */
void sdram_free(void *ptr);

/**
 * @brief 	获取空闲可用内存大小
 * @param 	/
 * @retval	剩余内存大小
 * @note	/
 */
size_t sdram_get_idle_size(void);

/**
 * @brief 	获取栈顶
 * @param 	/
 * @retval	栈顶指针(指向下一块未用内存块地址)
 * @note	/
 */
// void *sdram_get_top(void);

#endif //__MEM_SDRAM_H__
